package com.test.project.system.notice.controller;

import com.test.framework.web.controller.BaseController;
import com.test.framework.web.page.TableDataInfo;
import com.test.project.system.notice.domain.TNotice;
import com.test.project.system.notice.service.ITNoticeService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Controller
@RequestMapping(value = "/system/notice")
public class TNoticeController extends BaseController {

    // 这里就是定义了一个字符串，在这里表示路径的前缀，用到的时候细说
    private String prefix = "system/notice";

    // 将容器中的服务注入进来，通过service完成业务逻辑
    @Autowired
    private ITNoticeService tNoticeService;

    // RequiresPermissions是需要的权限，这里属于shiro的权限控制部分，有兴趣可以自己看
    @RequiresPermissions("system:notice:view")
    // GetMapping和@RequestMapping(method = RequestMethod.GET)等价 ，这里通过
    // http://localhost:8080/system/notice路径，
    // 便会返回prefix + "/notice"对应的html文件:system/notice/notice.html
    //
    @GetMapping()
    public String notice()
    {
        return prefix + "/notice";
    }

    //PostMapping和@RequestMapping(method = RequestMethod.POST)等价
    /**
     * 查询【通知】列表
     */
    @GetMapping("/list") //这里浏览器请求路径为：http://localhost:8080/system/notice/list
    @ResponseBody
    public TableDataInfo list(TNotice tNotice)
    {
        startPage();
        List<TNotice> list = tNoticeService.selectTNoticeList(tNotice);
        return getDataTable(list);
    }
}
